LARKTM: Efficient, Strongly Atomic Software Transactional Memory

نویسندگان

  • Minjia Zhang
  • Jipeng Huang
  • Michael D. Bond
چکیده

Software transactional memory provides an appealing alternative to locks by improving programmability, reliability, and scalability without relying on custom hardware. However, existing STMs are impractical because they add high overhead and provide weak semantics—or they provide strong atomicity semantics and add even higher overhead. Existing STMs are impractical largely due to the cost of concurrency control, which requires synchronization at essentially every transactional memory access—or every memory access in the case of strongly atomic STM. Most STMs avoid these synchronization costs through techniques such as lazy conflict detection and privatization support, but these techniques add their own overheads, still incur significant synchronization costs, provide weak semantics, and result in impractical systems. This paper introduces a novel, strongly atomic STM called LARKTM that resembles many hardware TM designs: it uses eager versioning, conflict detection, and conflict resolution, and it provides strong atomicity. However, LARKTM avoids high software overhead from these features by using an efficient, optimistic concurrency control mechanism that avoids synchronization except for truly conflicting memory accesses. Overall overhead and scalability results for a prototype implementation are mixed, but they suggest that LARKTM’s approach offers a promising new direction for providing practical strongly atomic STM on commodity systems.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Region-Based Dynamic Separation for STM Haskell

We present a design and implementation of dynamic separation in STM Haskell. Dynamic separation is a recent approach to software transactional memory (STM) that achieves strongly-atomic semantics with performance comparable to that of a weakly-atomic STM. STM Haskell, a lazy-versioning STM library for Haskell, previously supported strongly-atomic semantics via static separation, and we have fou...

متن کامل

Predictable transactional memory architecture for hierarchical mixed-criticality systems

A transactional memory simplifies the concurrency management in multicore systems by permitting sets of load and store instructions to be executed in an atomic way. The correct results for concurrent transactions and the execution time strongly depend on the coherency potentials, rollback capabilities and strategies of the transactional memory. A transactional memory can be implemented as a Har...

متن کامل

— Syllabus — Software Transactional Memory

“Transactional memory” means that, instead of using explicit locks to protect from data races (like the Java synchronized construct), a programmer could declare a block of code atomic and rely on the underlying software and hardware system to ensure that code within the block executes as if atomic. The transactional memory system might use any of several concurrency control protocols, with some...

متن کامل

Software Transactional Memory in the Linux Kernel

Transactional memory (TM) is a synchronization paradigm which is an alternative to locking. Instead of relying on the programmer to manage entry into critical sections, TM realizes automatic conflict resolution through conceptually atomic transactions and attempts to avoid many of the classical problems associated with locks. Traditionally, TM is thought of as a system implemented at the proces...

متن کامل

Atomic Shelters: Coping with Multi-core Fallout

In this paper we introduce a new method for pessimistically ensuring the atomicity of atomic sections. Similar to previous systems using locks, our system allows programmers to annotate the types of objects with the shelters—an alternative to locks inspired by the Jade programming language— that protect them, and indicate the sections of code to be executed atomically with atomic sections. A st...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012